Use gtk_popover_set_child throughout
authorMatthias Clasen <mclasen@redhat.com>
Sat, 2 May 2020 02:22:20 +0000 (22:22 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 5 May 2020 02:53:07 +0000 (22:53 -0400)
Replace all uses of gtk_container_add on popovers
by gtk_popover_set_child.

18 files changed:
demos/gtk-demo/fishbowl.c
demos/gtk-demo/sliding_puzzle.c
gtk/gtkemojichooser.c
gtk/gtkentrycompletion.c
gtk/gtknotebook.c
gtk/gtkplacessidebar.c
gtk/gtkpopovermenu.c
gtk/gtkshortcutswindow.c
gtk/gtktreepopover.c
gtk/gtktreeview.c
gtk/inspector/css-node-tree.c
gtk/inspector/prop-editor.c
gtk/inspector/recorder.c
tests/gdkgears.c
tests/testdnd2.c
tests/testscrolledwindow.c
tests/testtooltips.c
testsuite/gtk/popover.c

index 3f49ad2f2027a662e7f00602c01a2d6ed3a17dcd..60ec2b5c28069d4006d93e61d5d60a03e2ed9eb7 100644 (file)
@@ -161,7 +161,7 @@ create_menu_button (void)
   GtkWidget *w = gtk_menu_button_new ();
   GtkWidget *popover = gtk_popover_new ();
 
-  gtk_container_add (GTK_CONTAINER (popover), gtk_button_new_with_label ("Hey!"));
+  gtk_popover_set_child (GTK_POPOVER (popover), gtk_button_new_with_label ("Hey!"));
   gtk_popover_set_autohide (GTK_POPOVER (popover), FALSE);
   gtk_menu_button_set_popover (GTK_MENU_BUTTON (w), popover);
   g_signal_connect (w, "map", G_CALLBACK (mapped), NULL);
index 9ea5c1ca3d8cbc9f10b78299d7fea5e43a88d900..b4d0e991e0b1c626232a665da8dd24e1bf5d6940 100644 (file)
@@ -440,7 +440,7 @@ do_sliding_puzzle (GtkWidget *do_widget)
       g_signal_connect (apply, "clicked", G_CALLBACK (reconfigure), NULL);
 
       popover = gtk_popover_new ();
-      gtk_container_add (GTK_CONTAINER (popover), tweaks);
+      gtk_popover_set_child (GTK_POPOVER (popover), tweaks);
 
       tweak = gtk_menu_button_new ();
       gtk_menu_button_set_popover (GTK_MENU_BUTTON (tweak), popover);
index e8a0d70353533e5e4768126d317d0d8e525daf2a..eee1ac793455f777ac0ca58c019624b260c7aac9 100644 (file)
@@ -442,7 +442,7 @@ show_variations (GtkEmojiChooser *chooser,
   gtk_flow_box_set_activate_on_single_click (GTK_FLOW_BOX (box), TRUE);
   gtk_flow_box_set_selection_mode (GTK_FLOW_BOX (box), GTK_SELECTION_NONE);
   g_object_set (box, "accept-unpaired-release", TRUE, NULL);
-  gtk_container_add (GTK_CONTAINER (popover), view);
+  gtk_popover_set_child (GTK_POPOVER (popover), view);
   gtk_container_add (GTK_CONTAINER (view), box);
 
   g_signal_connect (box, "child-activated", G_CALLBACK (emoji_activated), parent_popover);
index 6191717f16d108baf8389d6efaed85b32b88d514..5ab7fb828ad5d6f27e3ca718928eb82863e1d4e0 100644 (file)
@@ -600,7 +600,7 @@ gtk_entry_completion_constructed (GObject *object)
   gtk_widget_add_controller (priv->popup_window, controller);
 
   popup_frame = gtk_frame_new (NULL);
-  gtk_container_add (GTK_CONTAINER (priv->popup_window), popup_frame);
+  gtk_popover_set_child (GTK_POPOVER (priv->popup_window), popup_frame);
 
   priv->vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
   gtk_frame_set_child (GTK_FRAME (popup_frame), priv->vbox);
index a594e7974d46c71997b1a3103c61f3e51772d537..c7b559786506b471ed94de8398e3127afb0012b2 100644 (file)
@@ -4245,8 +4245,9 @@ gtk_notebook_real_remove (GtkNotebook *notebook,
     {
       GtkWidget *parent = gtk_widget_get_parent (page->menu_label);
 
-      gtk_notebook_menu_label_unparent (parent, NULL);
-      gtk_container_remove (GTK_CONTAINER (notebook->menu), parent);
+      if (parent)
+        gtk_notebook_menu_label_unparent (parent, NULL);
+      gtk_popover_set_child (GTK_POPOVER (notebook->menu), NULL);
 
       gtk_widget_queue_resize (notebook->menu);
     }
@@ -6370,6 +6371,7 @@ gtk_notebook_popup_enable (GtkNotebook *notebook)
   gtk_widget_set_parent (notebook->menu, notebook->tabs_widget);
 
   notebook->menu_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+  g_object_ref_sink (notebook->menu_box);
   gtk_popover_menu_add_submenu (GTK_POPOVER_MENU (notebook->menu), notebook->menu_box, "main");
 
   for (list = gtk_notebook_search_page (notebook, NULL, STEP_NEXT, FALSE);
index dabe9470ef8feceecfddf28cf0b51199a28869bf..6ba5cd3a5cb65b5aacfd37522de980f5e99ba85a 100644 (file)
@@ -2296,7 +2296,7 @@ create_rename_popover (GtkPlacesSidebar *sidebar)
   g_signal_connect (popover, "destroy", G_CALLBACK (on_rename_popover_destroy), sidebar);
   gtk_popover_set_position (GTK_POPOVER (popover), GTK_POS_RIGHT);
   grid = gtk_grid_new ();
-  gtk_container_add (GTK_CONTAINER (popover), grid);
+  gtk_popover_set_child (GTK_POPOVER (popover), grid);
   g_object_set (grid,
                 "margin-start", 10,
                 "margin-end", 10,
index d9faf80f7b266d2681ae0b61d23c11de168ea35b..eacd370f6b453ebebde11d17c11d2d9d441ae236 100644 (file)
@@ -265,7 +265,7 @@ gtk_popover_menu_init (GtkPopoverMenu *popover)
   gtk_stack_set_vhomogeneous (GTK_STACK (stack), FALSE);
   gtk_stack_set_transition_type (GTK_STACK (stack), GTK_STACK_TRANSITION_TYPE_SLIDE_LEFT_RIGHT);
   gtk_stack_set_interpolate_size (GTK_STACK (stack), TRUE);
-  gtk_container_add (GTK_CONTAINER (popover), stack);
+  gtk_popover_set_child (GTK_POPOVER (popover), stack);
   g_signal_connect (stack, "notify::visible-child-name",
                     G_CALLBACK (visible_submenu_changed), popover);
 
@@ -328,9 +328,7 @@ gtk_popover_menu_get_property (GObject    *object,
                                GValue     *value,
                                GParamSpec *pspec)
 {
-  GtkWidget *stack;
-
-  stack = gtk_bin_get_child (GTK_BIN (object));
+  GtkWidget *stack = gtk_popover_get_child (GTK_POPOVER (object));
 
   switch (property_id)
     {
@@ -354,9 +352,7 @@ gtk_popover_menu_set_property (GObject      *object,
                                const GValue *value,
                                GParamSpec   *pspec)
 {
-  GtkWidget *stack;
-
-  stack = gtk_bin_get_child (GTK_BIN (object));
+  GtkWidget *stack = gtk_popover_get_child (GTK_POPOVER (object));
 
   switch (property_id)
     {
@@ -588,7 +584,7 @@ gtk_popover_menu_open_submenu (GtkPopoverMenu *popover,
 
   g_return_if_fail (GTK_IS_POPOVER_MENU (popover));
 
-  stack = gtk_bin_get_child (GTK_BIN (popover));
+  stack = gtk_popover_get_child (GTK_POPOVER (popover));
   gtk_stack_set_visible_child_name (GTK_STACK (stack), name);
 }
 
@@ -597,9 +593,7 @@ gtk_popover_menu_add_submenu (GtkPopoverMenu *popover,
                               GtkWidget      *submenu,
                               const char     *name)
 {
-  GtkWidget *stack;
-
-  stack = gtk_bin_get_child (GTK_BIN (popover));
+  GtkWidget *stack = gtk_popover_get_child (GTK_POPOVER (popover));
   gtk_stack_add_named (GTK_STACK (stack), submenu, name);
 }
 
@@ -689,7 +683,7 @@ gtk_popover_menu_set_menu_model (GtkPopoverMenu *popover,
       GtkWidget *stack;
       GtkWidget *child;
 
-      stack = gtk_bin_get_child (GTK_BIN (popover));
+      stack = gtk_popover_get_child (GTK_POPOVER (popover));
       while ((child = gtk_widget_get_first_child (stack)))
         gtk_container_remove (GTK_CONTAINER (stack), child);
 
index f51f77dc31690420d55c4878eaf2033e0c528701..168dce4dc178dd23789b95a7a2db62928965893c 100644 (file)
@@ -952,7 +952,7 @@ gtk_shortcuts_window_init (GtkShortcutsWindow *self)
                            G_CALLBACK (gtk_shortcuts_window__list_box__row_activated),
                            self,
                            G_CONNECT_SWAPPED);
-  gtk_container_add (GTK_CONTAINER (priv->popover), GTK_WIDGET (priv->list_box));
+  gtk_popover_set_child (GTK_POPOVER (priv->popover), GTK_WIDGET (priv->list_box));
 
   priv->search_entry = GTK_SEARCH_ENTRY (gtk_search_entry_new ());
   gtk_container_add (GTK_CONTAINER (priv->search_bar), GTK_WIDGET (priv->search_entry));
index b638ec2f170c8b12df201b84870e8343757e1261..c60ec32aa03fdc608a45894dfe587e606dbdeb40 100644 (file)
@@ -25,7 +25,6 @@
 #include "gtkcellarea.h"
 #include "gtkcelllayout.h"
 #include "gtkcellview.h"
-#include "gtkbin.h"
 #include "gtkintl.h"
 #include "gtkprivate.h"
 #include "gtkgizmoprivate.h"
@@ -231,7 +230,7 @@ gtk_tree_popover_add_submenu (GtkTreePopover *popover,
                               GtkWidget      *submenu,
                               const char     *name)
 {
-  GtkWidget *stack = gtk_bin_get_child (GTK_BIN (popover));
+  GtkWidget *stack = gtk_popover_get_child (GTK_POPOVER (popover));
   gtk_stack_add_named (GTK_STACK (stack), submenu, name);
 }
 
@@ -239,8 +238,7 @@ static GtkWidget *
 gtk_tree_popover_get_submenu (GtkTreePopover *popover,
                               const char     *name)
 {
-  GtkWidget *stack = gtk_bin_get_child (GTK_BIN (popover));
-
+  GtkWidget *stack = gtk_popover_get_child (GTK_POPOVER (popover));
   return gtk_stack_get_child_by_name (GTK_STACK (stack), name);
 }
 
@@ -248,7 +246,7 @@ void
 gtk_tree_popover_open_submenu (GtkTreePopover *popover,
                                const char     *name)
 {
-  GtkWidget *stack = gtk_bin_get_child (GTK_BIN (popover));
+  GtkWidget *stack = gtk_popover_get_child (GTK_POPOVER (popover));
   gtk_stack_set_visible_child_name (GTK_STACK (stack), name);
 }
 
@@ -261,7 +259,7 @@ gtk_tree_popover_init (GtkTreePopover *popover)
   gtk_stack_set_vhomogeneous (GTK_STACK (stack), FALSE);
   gtk_stack_set_transition_type (GTK_STACK (stack), GTK_STACK_TRANSITION_TYPE_SLIDE_LEFT_RIGHT);
   gtk_stack_set_interpolate_size (GTK_STACK (stack), TRUE);
-  gtk_container_add (GTK_CONTAINER (popover), stack);
+  gtk_popover_set_child (GTK_POPOVER (popover), stack);
 
   gtk_widget_add_css_class (GTK_WIDGET (popover), GTK_STYLE_CLASS_MENU);
 }
@@ -466,7 +464,7 @@ static GtkWidget *
 gtk_tree_popover_get_path_item (GtkTreePopover *popover,
                                 GtkTreePath    *search)
 {
-  GtkWidget *stack = gtk_bin_get_child (GTK_BIN (popover));
+  GtkWidget *stack = gtk_popover_get_child (GTK_POPOVER (popover));
   GtkWidget *item = NULL;
   GList *children, *l;
 
@@ -733,7 +731,9 @@ gtk_tree_popover_populate (GtkTreePopover *popover)
 static void
 rebuild_menu (GtkTreePopover *popover)
 {
-  GtkWidget *stack = gtk_bin_get_child (GTK_BIN (popover));
+  GtkWidget *stack;
+
+  stack = gtk_popover_get_child (GTK_POPOVER (popover));
   gtk_container_foreach (GTK_CONTAINER (stack), (GtkCallback) gtk_widget_destroy, NULL);
 
   if (popover->model)
index d7be0c9ac6a6a5544dd249636eec71e7257ce12d..9d192086a1a39e5023ccc9a8d5eb1884c88e2835 100644 (file)
@@ -9999,7 +9999,7 @@ gtk_tree_view_ensure_interactive_directory (GtkTreeView *tree_view)
   g_signal_connect (tree_view->search_entry, "changed",
                    G_CALLBACK (gtk_tree_view_search_changed), tree_view);
 
-  gtk_container_add (GTK_CONTAINER (tree_view->search_popover), tree_view->search_entry);
+  gtk_popover_set_child (GTK_POPOVER (tree_view->search_popover), tree_view->search_entry);
 
   gtk_widget_realize (tree_view->search_entry);
 }
index 52e94a52c70f4d55c93755ba36b6b8db6954c9a8..a5a2017c0f415b28f8d8702138c4db684f4db77f 100644 (file)
@@ -108,7 +108,7 @@ show_node_prop_editor (NodePropEditor *npe)
 
   editor = gtk_inspector_prop_editor_new (G_OBJECT (npe->node), npe->prop_name, NULL);
 
-  gtk_container_add (GTK_CONTAINER (popover), editor);
+  gtk_popover_set_child (GTK_POPOVER (popover), editor);
 
   gtk_popover_popup (GTK_POPOVER (popover));
 
index a5630d44881913a9eca72f11df8722c16a1f878e..04c8d20dee321a801bcdd04c71cccbd8fa1f39df 100644 (file)
@@ -573,7 +573,7 @@ flags_changed (GObject *object, GParamSpec *pspec, gpointer data)
   g_free (str);
 
   popover = gtk_menu_button_get_popover (GTK_MENU_BUTTON (data));
-  sw =  gtk_bin_get_child (GTK_BIN (popover));
+  sw =  gtk_popover_get_child (GTK_POPOVER (popover));
   viewport = gtk_bin_get_child (GTK_BIN (sw));
   box = gtk_viewport_get_child (GTK_VIEWPORT (viewport));
   children = gtk_container_get_children (GTK_CONTAINER (box));
@@ -943,12 +943,12 @@ property_editor (GObject                *object,
         GFlagsClass *fclass;
         gint j;
 
-        popover = gtk_popover_new ();        
+        popover = gtk_popover_new ();
         prop_edit = gtk_menu_button_new ();
         gtk_menu_button_set_popover (GTK_MENU_BUTTON (prop_edit), popover);
 
         sw = gtk_scrolled_window_new (NULL, NULL);
-        gtk_container_add (GTK_CONTAINER (popover), sw);
+        gtk_popover_set_child (GTK_POPOVER (popover), sw);
         g_object_set (sw,
                       "hexpand", TRUE,
                       "vexpand", TRUE,
@@ -1006,17 +1006,17 @@ property_editor (GObject                *object,
   else if (type == G_TYPE_PARAM_OBJECT &&
            g_type_is_a (G_PARAM_SPEC_VALUE_TYPE (spec), G_TYPE_LIST_MODEL))
     {
-      GtkWidget *popover; 
-      GtkWidget *box; 
-      GtkWidget *sw; 
+      GtkWidget *popover;
+      GtkWidget *box;
+      GtkWidget *sw;
       GListModel *model;
 
-      popover = gtk_popover_new ();        
+      popover = gtk_popover_new ();
       prop_edit = gtk_menu_button_new ();
       gtk_menu_button_set_popover (GTK_MENU_BUTTON (prop_edit), popover);
 
       sw = gtk_scrolled_window_new (NULL, NULL);
-      gtk_container_add (GTK_CONTAINER (popover), sw);
+      gtk_popover_set_child (GTK_POPOVER (popover), sw);
       g_object_set (sw,
                     "hexpand", TRUE,
                     "vexpand", TRUE,
index ac7f728f7f451868d12c312332be259454f26147..d59d7ca8a6f093fa3333bc456c562c36ff9fe608 100644 (file)
@@ -1175,7 +1175,7 @@ node_property_activated (GtkTreeView *tv,
   gtk_widget_set_margin_end (image, 20);
   gtk_widget_set_margin_top (image, 20);
   gtk_widget_set_margin_bottom (image, 20);
-  gtk_container_add (GTK_CONTAINER (popover), image);
+  gtk_popover_set_child (GTK_POPOVER (popover), image);
   gtk_popover_popup (GTK_POPOVER (popover));
 
   g_signal_connect (popover, "unmap", G_CALLBACK (gtk_widget_destroy), NULL);
index a2eae19fd5e48c2cdafbd7175d0c92d9a1106c55..bc7a9c869fe0f9f76ec76b840b41036d5993ca67 100644 (file)
@@ -199,7 +199,7 @@ main (int argc, char *argv[])
   gtk_menu_button_set_direction (GTK_MENU_BUTTON (button), GTK_ARROW_UP);
   popover = gtk_popover_new ();
   label = gtk_label_new ("Popovers work too!");
-  gtk_container_add (GTK_CONTAINER (popover), label);
+  gtk_popover_set_child (GTK_POPOVER (popover), label);
 
   gtk_menu_button_set_popover (GTK_MENU_BUTTON (button), popover);
   gtk_container_add (GTK_CONTAINER (hbox), button);
index cf64e69035cba918d39c2d897fa8fc5ef6443de5..e2b3bb6d30108cf34ff31c5398c5ea90d6c32673 100644 (file)
@@ -177,7 +177,7 @@ ask_actions (GdkDrop *drop,
       g_object_set_data (G_OBJECT (image), "popover", popover);
 
       box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
-      gtk_container_add (GTK_CONTAINER (popover), box);
+      gtk_popover_set_child (GTK_POPOVER (popover), box);
       button = gtk_button_new_with_label ("Copy");
       g_signal_connect (button, "clicked", G_CALLBACK (do_copy), NULL);
       gtk_container_add (GTK_CONTAINER (box), button);
index a8926410d34c7cd8d4a7574cad22499556e69c8e..c00508288cc4f35033a9f112d292a8aba29d4147 100644 (file)
@@ -221,7 +221,7 @@ scrollable_policy (void)
   gtk_container_add (GTK_CONTAINER (cntl), widget);
 
   vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
-  gtk_container_add (GTK_CONTAINER (popover), vbox);
+  gtk_popover_set_child (GTK_POPOVER (popover), vbox);
 
   /* Popover's scrolled window */
   swindow = gtk_scrolled_window_new (NULL, NULL);
index 84c40e445f0208110784ad0b4a4ad036c19fab39..8696427e2fd788b6bfe9c832b1f694df696b2d34 100644 (file)
@@ -424,7 +424,7 @@ main (int argc, char *argv[])
   popover = gtk_popover_new ();
   gtk_menu_button_set_popover (GTK_MENU_BUTTON (button), popover);
   box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
-  gtk_container_add (GTK_CONTAINER (popover), box2);
+  gtk_popover_set_child (GTK_POPOVER (popover), box2);
 
   button = gtk_label_new ("Hidden here");
   custom = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
index cb7813f5c32b805ba79f8330f782fd58fb754b74..2a982e2417199ddb74614e1f4d385c5cb9d6cfc0 100644 (file)
@@ -44,7 +44,7 @@ test_show_popover (void)
   window = gtk_window_new ();
   button = gtk_menu_button_new ();
   popover = gtk_popover_new ();
-  gtk_container_add (GTK_CONTAINER (popover), gtk_label_new ("Nu?"));
+  gtk_popover_set_child (GTK_POPOVER (popover), gtk_label_new ("Nu?"));
   gtk_menu_button_set_popover (GTK_MENU_BUTTON (button), popover);
   gtk_container_add (GTK_CONTAINER (window), button);